﻿#define _CRT_SECURE_NO_WARNINGS
//#include<stdlib.h>
//#include<stdio.h>
//////int main()
//////{
//////	char str1[30] = { "0" };
//////	while ((scanf("%s", str1) != EOF))
//////	{
//////		printf("%d\n", atoi(str1));
//////	}
//////	return 0;
//////}
//////#include<stdlib.h>
//////#include<stdio.h>
//////#include<assert.h>
//////enum JUD
//////{
//////	WRONG,
//////	RIGHT
//////}JUD=WRONG;
//////int my_atoi(const char* str)
//////{
//////	assert(str);
//////	int flag = 1;
//////	if (*str == '\0')
//////		return 0;
//////	while(*str == ' '||*str=='0')//处理空格
//////		str++;
//////	if (*str > '9' || *str < '0'&&*str!='-'&&*str!='+')
//////		return 0;
//////	if (*str == '-')
//////	{
//////		flag = -1;
//////		str++;
//////	}
//////	else if (*str == '+')
//////		str++;
//////	long long ret = 0;
//////	if (*str >= '1' && *str <= '9')
//////	{
//////		while (*str != '\0'&&*str>='0'&&*str<='9')
//////		{
//////			ret = ret * 10 + flag * (*str - '0');
//////			str++;
//////			if (ret<INT_MIN || ret>INT_MAX)
//////				return 0;
//////		}
//////	}
//////	JUD = RIGHT;
//////	return (int)ret;
//////}
//////int main()
//////{
//////	char str1[30] = { "0" };
//////	scanf("%s", str1);
//////	int ret = my_atoi(str1);
//////	if (JUD == WRONG)
//////		printf("Abnormal Results:%d\n",  ret);
//////	else
//////		printf("NOrmal Results:%d\n",  ret);
//////	return 0;
//////}
////
//////模拟实现strncpy、strncat、strncmp
//////#include<assert.h>
//////#include<string.h>
//////char* my_strncpy(char* str1, const char* str2, int num)
//////{
//////	assert(str1 && str2);
//////	char* ret = str1;
//////	int len = strlen(str2);
//////	int sz = 0;
//////	if (len> num)
//////		sz = num;
//////	else
//////		sz = len;
//////	while (sz--)
//////	{
//////		*str1 = *str2;
//////		str1++;
//////		str2++;
//////	}
//////	return ret;
//////}
//////#include<string.h>
//////int main()
//////{
//////	char str1[100] = "xxxxxxxxxxxxxx";
//////	char str2[] = "jining shi ming jiu tian tu";
//////	my_strncpy(str1, str2, 5);
//////	str1[5] = '\0';
//////	puts(str1);
//////	return 0;
//////}  
////
////
//////char* my_strncat(char* dest, const char* src,int num)
//////{
//////	assert(dest && src);
//////	char* ret = dest;
//////	while (*++dest)
//////		;
//////	while (num--)
//////	{
//////		*dest = *src;
//////		dest++;
//////		src++;
//////	}
//////	*dest = '\0';
//////	return ret;
//////}
//////int main()
//////{
//////	char str1[100] = "zyb ";
//////	char str2[100] = "is a big yuanzhong";
//////	my_strncat(str1, str2,5);
//////	puts(str1);
//////	return 0;
//////}   
////
////
////​
//////#include <stdio.h>
//////int main()
//////{
//////	int a = 10;
//////	int b = 20;
//////	a = a ^ b;
//////	b = a ^ b;
//////	a = a ^ b;
//////	printf("a = %d b = %d\n", a, b);
//////	return 0;
//////​
////
////
////
////
////
//////int find_single_dog1(int arr[], int sz)
//////{
//////	int i = 0;
//////	int ret = 0;
//////	for (i = 0; i < sz; i++)
//////	{
//////		ret ^= arr[i];
//////	}
//////	return ret;
//////}
//////int main()
//////{
//////	int arr[] = { 1,2,3,4,5,1,2,3,4 };
//////	int sz = sizeof(arr) / sizeof(arr[0]);
//////	int dog = find_single_dog1(arr, sz);
//////	printf("%d\n", dog);
//////	return 0;
//////}
//////

//#include<stdio.h>
//void find_single_dog2(int arr[], int sz, int* s1, int* s2)
//{
//	int i = 0;
//	int ret = 0;
//	for (i = 0; i < sz; i++)
//	{
//		ret ^= arr[i];
//	}
//	int pos = 0;
//	for (i = 0; i < 32; i++)
//	{
//		if (((ret >> i) & 1) == 1)
//		{
//			pos = i;
//			break;
//		}
//	}
//	for (i = 0; i < sz; i++)
//	{
//		if (((arr[i] >> pos) & 1) == 1)
//			(*s1)^= arr[i];
//	}
//	*s2 = ret^(*s1);
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,1,2,3,4,6 };
//	int dog1 = 0;
//	int dog2 = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	find_single_dog2(arr, sz, &dog1, &dog2);
//	printf("dog1:%d,dog2:%d", dog1, dog2);
//	return 0;
//}

//#include<assert.h>
//char* my_memcpy(void* dest,const void* src, size_t num)
//{
//	assert(dest && src);
//	char* ret = dest;
//	while (num--)
//	{
//		*(char*)dest = *(char*)src;
//		dest = (char*)dest + 1;
//		src = (char*)src + 1;
//	}
//	return ret;
//}
//
//int main()
//{
//	int arr1[10] = { 0,1,2,3,4,5,6,7,8,9 };
//	int arr2[5] = { 11,12,13,14,15 };
//	char*st=my_memcpy(arr1+3, arr1, 20);
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr1[i]);
//	}
//	return 0;
//}

//#include<assert.h>
//char* my_memmove(void* dest, const void* src, size_t num)
//{
//	assert(dest && src);
//	char* ret = dest;
//	if (src > dest)
//	{
//		while (num--)
//		{
//			*(char*)dest = *(char*)src;
//			dest = (char*)dest + 1;
//			src = (char*)src + 1;
//		}
//	}
//	else
//		while (num--)
//		{
//			*((char*)dest + num) = *((char*)src + num);
//		}
//	return ret;
//}
//int main()
//{
//	int arr1[10] = { 0,1,2,3,4,5,6,7,8,9 };
//	my_memmove(arr1, arr1 + 3, 20);
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr1[i]);
//	}
//	return 0;
//}

//#include<string.h>
//
//void* my_memset(void* ptr, int value, int num)
//{
//	int i = 0;
//	for (i = 0; i < num; i++)
//	{
//		*((char*)ptr+i) = value;
//	}
//	return (char*)ptr;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	my_memset(arr, 'x', 39);
//	printf("%s",(char*)arr);
//	return 0;
//}

#include<stdio.h>
int main()
{
	pritnf("%s", _TIME_);
	return 0;
}